/* eslint-disable indent */
import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
import Categories from '../components/goods/Categories.vue'

Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        { name: 'index', path: '/', redirect: 'Login' },
        { name: 'login', path: '/login', component: Login },
        {
            name: 'home',
            path: '/home',
            component: Home,
            redirect: 'welcome',
            children: [
                { name: 'welcome', path: '/welcome', component: Welcome },
                // eslint-disable-next-line indent
                { name: 'users', path: '/users', component: Users },
                { name: 'Rights', path: '/rights', component: Rights },
                { name: 'Roles', path: '/roles', component: Roles },
                { name: 'Categories', path: '/categories', component: Categories }
            ]
        }
    ]
})
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
    if (to.path === '/login') return next()
    const tokenStr = window.sessionStorage.getItem('token')
    if (!tokenStr) return next('login')
    next()
})

export default router
